home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / qbbs / qkhimsg.zip / QKHIMSG.PAS < prev   
Pascal/Delphi Source File  |  1990-09-21  |  2KB  |  99 lines

  1. Program QkHiMsg;
  2.  
  3. Uses Dos, Crt;
  4.  
  5. type
  6.  
  7.   FlagType = ARRAY[1..4] OF byte;
  8.  
  9.   UserRec = RECORD
  10.               Name : string[35];
  11.               City : string[25];
  12.               Pwd : string[15];
  13.               DataPhone,
  14.               HomePhone : string[12];
  15.               LastTime : string[5];
  16.               LastDate : string[8];
  17.               Attrib : byte;
  18.               Flags : FlagType;
  19.               Credit,
  20.               Pending,
  21.               TimesPosted,
  22.               HighMsgRead,
  23.               SecLvl,
  24.               Times,
  25.               Ups,
  26.               Downs,
  27.               UpK,
  28.               DownK,
  29.               TodayK,
  30.               Elapsed,
  31.               Len : integer;
  32.               CombinedPtr : word; (* Record number in COMBINED.BBS *)
  33.               Age : byte;         (* Not yet implemented *)
  34.               ExtraSpace : ARRAY[1..5] OF byte;
  35.             END;
  36.  
  37.   LastRec = record
  38.     UserHiMsg : array[1..200] of integer;
  39.   end;
  40.  
  41. var
  42.  
  43.   LastRead : file of LastRec;
  44.   LastVar  : LastRec;
  45.   TempFile : file of UserRec;
  46.   UserFile : file of UserRec;
  47.   UserVar  : UserRec;
  48.  
  49. function GetHighMsg(V : LastRec) : integer;
  50. var
  51.   x, tmphi : integer;
  52. begin
  53.   tmphi := 0;
  54.   for x := 1 to 200 do
  55.     if V.UserHiMsg[x] > tmphi then tmphi := V.UserHiMsg[x];
  56.   GetHighMsg := tmphi;
  57. end;
  58.  
  59. begin
  60.   writeln('QkHiMsg - By Christopher Hall - PC Network (505)821-5341 ');
  61.   writeln;
  62.   assign(LastRead, 'LastRead.BBS');
  63.   {$I-}
  64.   reset(LastRead);
  65.   {$I+}
  66.   if IOResult <> 0 then
  67.   begin
  68.     writeln('Unable to locate LastRead.BBS file!');
  69.     Halt;
  70.   end;
  71.   assign(UserFile, 'Users.BBS');
  72.   {$I-}
  73.   reset(UserFile);
  74.   {$I+}
  75.   if IOResult <> 0 then
  76.   begin
  77.     writeln('Unable to locate Users.BBS file!');
  78.     Halt;
  79.   end;
  80.   assign(TempFile, 'Users$$$.Tmp');
  81.   rewrite(TempFile);
  82.   write('Reformatting High Message Read in USERS.BBS - Please Wait..');
  83.   while NOT EOF(UserFile) do
  84.   begin
  85.     read(UserFile, UserVar);
  86.     read(LastRead, LastVar);
  87.     UserVar.HighMsgRead := GetHighMsg(LastVar);
  88.     write(TempFile, UserVar);
  89.   end;
  90.   close(UserFile);
  91.   close(LastRead);
  92.   close(TempFile);
  93.   rename(UserFile, 'Users.Bak');
  94.   rename(TempFile, 'Users.BBS');
  95.   writeln;
  96.   writeln('Done.');
  97. end.
  98.  
  99.